<?php

/**
 * 前台公共库文件
 * 主要定义前台公共函数库
 */
 
 
 /**
 * 实例化活动Service
 * @param  string $way  方法名称
 * @param  array $parameter 参数
 * @return array
 */

function activity_service($way , $parameter = ''){
	$Activity = new \Home\Service\Activity();
	return $Activity -> $way($parameter);
}

 /**
 * 实例化用户Service
 * @param  string $way  方法名称
 * @param  array $parameter 参数
 * @return array
 */
function user_service($way , $parameter = ''){
	$User = new \Home\Service\User();
	return $User -> $way($parameter);
}

/**
 * 开启自动登录，保存Cookie
 * @param string $s 登录条件
 * @param array $user 用户资料
 */
function user_cookie( $s , $user){
      if ( $s == 'on' ) {
    	$parameter = array( 'expire' => 864000);
        cookie( 'uid', $user['uid'], $parameter );
        cookie( 'email', $user['email'], $parameter );
        cookie( 'newemail', $user[ 'newemail' ], $parameter );
      }
}

/**
 * 
 * 记录登录
 * @param $uid 根据用户编号记录该用户的登录记录
 * @author xz <1209086664@qq.com>
 */
function set_login($uid) {
    $userlogin = array(
        'uid' => $uid,
        'loginip' => get_client_ip(1),
        'logintime' => time()
    );
    M('userlogin')->add($userlogin);
}

/**
 * 从cookie中自动登录,初始化session
 * @author xz <1209086664@qq.com>
 */
function auto_login() {
    //TODO 1 这种情况是很容易伪造Uid的，且只能从加载自动登录代码块的入口才能做自动登录
    $uid = $_COOKIE['jk_home_uid'];
    if (!session('uid') && isset($uid)) {
        session('uid', $uid );
        session('email', $_COOKIE['jk_home_email']); //绑定的邮箱
        session('newemail', $_COOKIE['jk_home_newemail']); //未绑定的邮箱
		session('head', get_user_head($uid));//用户头像
        //记录入库
        set_login($uid);
    }
}

/**
 * 登录session公共方法
 * @param array $user 用户资料
 */
 function set_session( $user ){
 	session('uid', $user['uid']);
	//用户头像
	session('head', get_user_head($user['uid']));
 }
 
/**
 * 获取用户头像
 * @param int $uid 用户uid
 */
function get_user_head( $uid ){
  	$head = M('userpicture')->where(array('uid'=>$uid))->getField('path');
	return C('UPYUN_URL').$head.C('UPYUN_CUSTOMVERSION6');
}
  
/**
 * API密匙加密
 */
function get_api_key(){
   	return md5( md5('jikequ'));
}
   
/**
 * 检测输入的验证码是否正确，$code为用户输入的验证码字符串
 */
function check_verify($code, $id = ''){
	$verify = new \Think\Verify();    
	return $verify->check($code, $id);
}

/**
 * 服务器请求方法
 * @param string $url 请求链接
 */
function get_server_curl( $url ){
	//初始化curl
   	$ch = curl_init();
	//设置超时
	curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,FALSE);
    curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,FALSE);
	curl_setopt($ch, CURLOPT_HEADER, FALSE);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
	//运行curl，结果以jason形式返回
    $res = curl_exec($ch);
	curl_close($ch);
	$data = json_decode($res,true);
	//返回结果
	return $data;
}
	
/**
 * 获取微信令牌access_token
 */
function get_wx_token1(){
 	$token = session('wx_token');
 	if(!$token){
		$access_token_url = 'https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid='.C('APPID').'&secret='.C('APPSECRET');
		$token_data = get_server_curl($access_token_url);
		session( array( 'wx_token' => $ticket_data['access_token'] , 'expire'=>$ticket_data['expires_in'] ));
	}
	return $token_data['access_token'];
 }
 
/**
 * 获取微信jsapi的ticket
 */
function get_wx_jsapi_ticket1(){
 	$ticket = session('wx_ticket');
 	if(!$ticket){
 		$token = get_wx_token1();//获取令牌
		$jsapi_ticket_url = 'https://api.weixin.qq.com/cgi-bin/ticket/getticket?access_token='.$token.'&type=jsapi';
		$ticket_data = get_server_curl($jsapi_ticket_url);
		session( array( 'wx_ticket' => $ticket_data['ticket'] , 'expire'=>$ticket_data['expires_in'] ));
	}
	return $ticket_data['ticket'];
 }
 
function _generate_random_str1($length = 5) {
    $chars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
    $code = 'hkjc' . date('YmdHis');

    for ($i=0; $i < $length; $i++) { 
        $code .= $chars[mt_rand(0, strlen($chars)-1)];
    }
    return $code;
}

/**
 * 发送手机验证码
 * @param String $phone
 * @param String $content
 * @return boolean true：成功 false：失败
 */
function sendSms($phone, $content) {
    $url = 'http://utf8.sms.webchinese.cn/?Uid=xiaoping1991&Key=20e3d9bbcaf5b7bd32f4&smsMob=' . $phone . '&smsText=' . $content;
    if (file_get_contents($url) > 0) {
        return true;
    } else {
        return false;
    }
} 	
